package com.spark.invoicings.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 采购入库单表
 * 
 * @author sunyan
 * @email sunyan@gmail.com
 * @date 2024-06-13 11:10:43
 */
@Data
@TableName("t_purchase_warehouse_receipt")
public class WarehouseReceipt implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 采购入库单id
	 */
	@TableId(type = IdType.AUTO)
	private Integer receiptId;
	/**
	 * 入库单号
	 */
	private String receiptNumber;
	/**
	 * 入库状态：1-审批中，2-已入库，3-已驳回，4-已撤销
	 */
	private Integer entryStatusId;
	/**
	 * 入库类型（1.其他入库，2.采购入库，3.退货入库，4.生产入库）
	 */
	private Integer receiptTypeId;
	/**
	 * 到货单ID
	 */
	private Integer arrivalId;
	/**
	 * 销售退货单
	 */
	private Integer returnId;
	/**
	 * 申请人
	 */
	private String requester;
	/**
	 * 申请日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date requestDate;
	/**
	 * 入库总量
	 */
	private Integer totalQuantity;
	/**
	 * 审批人
	 */
	private String approver;
	/**
	 * 入库日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date receiptDate;
	/**
	 * 入库照片
	 */
	private String receiptPhoto;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 仓库id
	 */
	private Integer warehouseId;

	/**
	 * 审批时间
	 * */
	private String approvalTime;

	@TableField(exist = false)
	private SalesReturn salesReturn;

	@TableField(exist = false)
	private PurchaseArrival purchaseArrival;

	/**
	 * 入库状态
	 */
	@TableField(exist = false)
	private String d1Label;

	/**
	 * 入库类型
	 */
	@TableField(exist = false)
	private String d2Label;

	@TableField(exist = false)
	private List<InboundDetail> inboundDetailList;

	public String getApprovalTime() {
		return approvalTime;
	}

	public void setApprovalTime(String approvalTime) {
		this.approvalTime = approvalTime;
	}

	public SalesReturn getSalesReturn() {
		return salesReturn;
	}

	public void setSalesReturn(SalesReturn salesReturn) {
		this.salesReturn = salesReturn;
	}

	public PurchaseArrival getPurchaseArrival() {
		return purchaseArrival;
	}

	public void setPurchaseArrival(PurchaseArrival purchaseArrival) {
		this.purchaseArrival = purchaseArrival;
	}

	public Integer getReceiptId() {
		return receiptId;
	}

	public void setReceiptId(Integer receiptId) {
		this.receiptId = receiptId;
	}

	public String getReceiptNumber() {
		return receiptNumber;
	}

	public void setReceiptNumber(String receiptNumber) {
		this.receiptNumber = receiptNumber;
	}

	public Integer getEntryStatusId() {
		return entryStatusId;
	}

	public void setEntryStatusId(Integer entryStatusId) {
		this.entryStatusId = entryStatusId;
	}

	public Integer getReceiptTypeId() {
		return receiptTypeId;
	}

	public void setReceiptTypeId(Integer receiptTypeId) {
		this.receiptTypeId = receiptTypeId;
	}

	public Integer getArrivalId() {
		return arrivalId;
	}

	public void setArrivalId(Integer arrivalId) {
		this.arrivalId = arrivalId;
	}

	public Integer getReturnId() {
		return returnId;
	}

	public void setReturnId(Integer returnId) {
		this.returnId = returnId;
	}

	public String getRequester() {
		return requester;
	}

	public void setRequester(String requester) {
		this.requester = requester;
	}

	public Date getRequestDate() {
		return requestDate;
	}

	public void setRequestDate(Date requestDate) {
		this.requestDate = requestDate;
	}

	public Integer getTotalQuantity() {
		return totalQuantity;
	}

	public void setTotalQuantity(Integer totalQuantity) {
		this.totalQuantity = totalQuantity;
	}

	public String getApprover() {
		return approver;
	}

	public void setApprover(String approver) {
		this.approver = approver;
	}

	public Date getReceiptDate() {
		return receiptDate;
	}

	public void setReceiptDate(Date receiptDate) {
		this.receiptDate = receiptDate;
	}

	public String getReceiptPhoto() {
		return receiptPhoto;
	}

	public void setReceiptPhoto(String receiptPhoto) {
		this.receiptPhoto = receiptPhoto;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getWarehouseId() {
		return warehouseId;
	}

	public void setWarehouseId(Integer warehouseId) {
		this.warehouseId = warehouseId;
	}

	public String getD1Label() {
		return d1Label;
	}

	public void setD1Label(String d1Label) {
		this.d1Label = d1Label;
	}

	public String getD2Label() {
		return d2Label;
	}

	public void setD2Label(String d2Label) {
		this.d2Label = d2Label;
	}

	public List<InboundDetail> getInboundDetailList() {
		return inboundDetailList;
	}

	public void setInboundDetailList(List<InboundDetail> inboundDetailList) {
		this.inboundDetailList = inboundDetailList;
	}
}
